package com.dy.spring.client;

import org.springframework.cloud.stream.annotation.Input;
import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.SubscribableChannel;

/**
 * @author huangdeyao
 * @date 2019/7/2 12:50
 */
public interface StreamClient {
    /**
     * 同一个服务里面的信道名字不能一样，在不同的服务里可以相同名字的信道
     */
    String STREAM_INPUT = "stream-input";
    String STREAM_OUTPUT = "stream-output";

    /**
     * 同一个服务里面的信道名字不能一样，在不同的服务里可以相同名字的信道
     */
    String STREAM_INPUT_2 = "stream-input-2";
    String STREAM_OUTPUT_2 = "stream-output-2";

    /**
     * 订阅消息
     *
     * @return
     */
    @Input(StreamClient.STREAM_INPUT)
    SubscribableChannel input();

    /**
     * 消息发送
     *
     * @return
     */
    @Output(StreamClient.STREAM_OUTPUT)
    MessageChannel output();


    /**
     * 订阅消息
     *
     * @return
     */
    @Input(StreamClient.STREAM_INPUT_2)
    SubscribableChannel input2();

    /**
     * 消息发送
     *
     * @return
     */
    @Output(StreamClient.STREAM_OUTPUT_2)
    MessageChannel output2();
}
